In recent years, traditional circuit-based communication networks have declined in favor of packet-based networks, which can be more flexible, efficient, and secure. As a result, the increased popularity of packet-based networking has led to growth in demand for packet-based network devices. This demand has largely been met by manufacturers, who have created larger and larger monolithic routers to handle an increased volume and complexity of network traffic. However, this model is approaching its technologic and economic limits. It is increasingly difficult to fulfill the increasing performance requirements with traditional router designs, and, with the emergence of low cost data center hardware, router vendors have difficulty justifying the higher costs of hardware for the same performance. At the same time, the demands on the routing and switching control plane in access and aggregation networks are becoming more complex. Operators desire the ability to customize routing to handle specific types of traffic flows near the edge, configure customized services that span aggregation networks, and achieve multi-layer integration, without the detailed low-level configuration required in today's networks.
These trends led to a different approach to routing architecture in which data and control planes have been decoupled. With this separation, the control plane may be logically centralized and implemented with a variety of hardware components with varied architectures. Further, the data plane may consist of simplified switch/router elements configured by the logically centralized controller. This new split-architecture model focuses on the split of control from forwarding and data processing elements and is at the core of software-defined networking (SDN). One prominent standard for flow processing in software-defined networks is OpenFlow, which defines the protocols used to transport messages between the control plane and the forwarding plane and describes a model for packet processing.
This split-architecture of software-defined networks enables a separation between functionalities that can be logically or physically grouped together. For example, there can be a split or separation between a common control entity and a network application (e.g., Generalized Multi-Protocol Label Switching (GMPLS), Border Gateway Protocol (BGP), Internet Protocol Security (IPSec), etc.). Similarly, there can be a split or separation between control and forwarding/processing (i.e. a separation of central control from network devices performing packet processing). There also can be a split or separation of a data forwarding functionality, a data processing functionality, and a data generation functionality (e.g., Deep Packet Inspection (DPI); Ciphering; Operations, administration and management (OAM); etc.).
Software-defined networks present many advantages over traditional monolithic architecture networks. For example, the control plane applications that implement important network routing and switching functionalities are completely separated from the forwarding plane. Thus, maintaining a centralized control plane enables highly customized and optimized networking services that can be tailored to specific user needs. A centralized control plane provides a highly scalable, reliable, and flexible networking infrastructure that can cater to diverse user needs. The forwarding plane (or data plane) devices can be inexpensive and interchangeable commodity networking devices, which reduces the overall configuration and maintenance burdens for the user. Additionally, a single management and configuration entity for the entire network enhances the ease-of-use experience for users.
However, current SDN configurations also suffer from shortcomings. While systems such as OpenFlow do present valid ways to specify a model for packet processing, a problem exists in that different or novel traffic received at the forwarding plane cannot be processed until the control plane provides the forwarding device with instructions for that traffic. Accordingly, when packets of a new traffic flow first enter a SDN, these initial packets are unable to be forwarded until the control plane has provided the forwarding devices within the SDN with forwarding instructions for the flow. Further, to enable the control plane to decide what to do with these initial packets of a new flow, the packets are typically transmitted by the forwarding devices to the control plane. In SDNs employing many forwarding devices in the forwarding plane that may receive many such “unknown” packets, such packet transmission to the control plane can overwhelm the network and control plane with traffic.